home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 5 / Amiga Tools 5.iso / tools / usefull / fw_makefontlist / makefontlist < prev   
Encoding:
Text File  |  1996-03-10  |  6.0 KB  |  200 lines

  1. /* MakeFontList V1.1  10.03.96                     */
  2. /* Erstellt eine Font-Liste mit Final Writer       */
  3. /* Dies kann einige Zeit benötigen, abhängig von   */
  4. /* der Anzahl der Fonts in den Unterverzeichnissen */
  5. /* © 1995 by Martin Kindler                        */
  6.  
  7. /* Makes a Font-List with Final Writer   */
  8. /* This may take some time, depending    */
  9. /* on the number of fonts in the subdirs */
  10. /* © 1995 by Martin Kindler              */
  11.  
  12.  
  13. options results
  14. dummy=open('file','env:Language','read')
  15. if dummy then sprache=readln('file')
  16. dummy=close('file')
  17.  
  18. if sprache="deutsch" then do
  19. /* Deutsche Texte */
  20. text="ABCDEÄÖÜ abcdefjäöüß 1234567890"
  21. pfadreq='"Wähle das Fontverzeichnis"'
  22. filereq='"Wähle den Dokumentname"'
  23. quellereq='"Wie lautet die Quelle?" '
  24. patternreq='"Wie lautet das Font-Suchmuster?"'
  25. druckreq='"Soll gleich gedruckt werden?" "" "" "Ja" "Nein" "Abbruch"'
  26. druck2req='"Bitte Drucker einschalten," "bzw. Umleitung aktivieren" "" "OK" "Abbruch" ""'
  27. hinweisreq='"Die Dateiliste (ram:liste) kann jetzt" "falls gewünscht editiert werden" "" "Weiter" "Abbruch" ""'
  28. seitereq='"Startseitennummer?"'
  29. fehlerreq='"Konnte keinen Font finden" "Suchpfad: '
  30. fehlerreq2='" "Suchmuster: '
  31. fehlerreq3='" "OK" "" ""'
  32. kopftxt="Quelle: "
  33. kopftxt2="       Seite: "
  34. fehler2txt="Wurde nicht als Font erkannt"
  35. fehler3txt="Seite "
  36. fehler3txt2=" wurde nicht als Font erkannt"
  37. fertigreq='"Fontliste erstellt !!" "" "" "OK" "" ""'
  38. end
  39.  
  40. else do
  41. /* English texts */
  42. text="ABCDE abcdefj 1234567890"
  43. pfadreq='"Choose font drawer"'
  44. filereq='"Choose document name"'
  45. quellereq='"Set source name" '
  46. patternreq='"Set font search pattern"'
  47. druckreq='"Should I print the document" "" "" "Yes" "No" "Cancel"'
  48. druck2req='"Pleas switch printer on" "or activate printer redirection" "" "OK" "Cancel" ""'
  49. hinweisreq='"You can now edit the" "file list (ram:liste) if you want" "" "Continue" "Cancel" ""'
  50. seitereq='"Start page number?"'
  51. fehlerreq='"No font found" "Searchpath: '
  52. fehlerreq2='" "Searchpattern: '
  53. fehlerreq3='" "OK" "" ""'
  54. kopftxt="Source: "
  55. kopftxt2="       Page: "
  56. fehler2txt="Could not be identified as a font"
  57. fehler3txt="Page "
  58. fehler3txt2=" could not be identified as a font"
  59. fertigreq='"Font list made !!" "" "" "OK" "" ""'
  60. end
  61.  
  62.  
  63. ClearDoc
  64.  
  65. /* Seitenhöhe bestimmen */
  66. GetSectionSetup "Top"
  67. oben=overlay('.',Result,pos(',',Result))
  68. GetSectionSetup "Bottom"
  69. unten=overlay('.',Result,pos(',',Result))
  70. GetPageSetup "Height"
  71. hoch=overlay('.',Result,pos(',',Result))
  72. hoch=(hoch -oben -unten)*10
  73.  
  74. /* Parameter abfragen */
  75. ScreenToBack
  76. address command 'requestfile >env:ReqAsk drawersonly noicons pattern "~(#?)" title '||pfadreq
  77. dummy=open('file','env:ReqAsk','read')
  78. Pfad = strip(strip(readln('file'),'b',d2c(10)),'b',d2c(34))
  79. dummy=close('file')
  80. Quelle=left(Pfad,pos(':',Pfad))
  81. address command 'requestfile >env:ReqAsk noicons title '||filereq||' drawer "Work:FinalWriter/FWDocs" file "'||left(Quelle,length(Quelle)-1)||'"'
  82. dummy=open('file','env:ReqAsk','read')
  83. File = strip(strip(readln('file'),'b',d2c(10)),'b',d2c(34))
  84. dummy=close('file')
  85. ScreenToFront
  86. if File='' then exit
  87. RequestText '"MakeFontList" '||quellereq||d2c(34)||Quelle||d2c(34)
  88. Quelle=Result
  89. if Quelle="RESULT" then exit
  90. Result="RESULT"
  91. RequestText '"MakeFont List" '||patternreq||' "#?.PFB"'
  92. Pattern=Result
  93. if Pattern="RESULT" then exit
  94. if (Pattern='#?'|Pattern='') then Pattern='~(#?.info)'
  95. ShowMessage 1 0 druckreq
  96. if Result=3 then exit
  97. if Result=2 then druck=0
  98. else do
  99.   druck=1
  100.   ShowMessage 1 0 druck2req
  101.   if Result=2 then exit
  102. end
  103.  
  104. /* Dateiliste erstellen */
  105. address command 'list '||d2c(34)||Pfad||'#?'||d2c(34)||' >ram:liste files pat '||Pattern||' lformat="%p%n" all'
  106. address command 'sort ram:liste ram:liste'
  107. ShowMessage 1 0 hinweisreq
  108. if Result=2 then exit
  109.  
  110. Result=""
  111. RequestText '"MakeFontList" '||seitereq||' "1"'
  112. Seite=Result
  113. if Seite="" then exit
  114.  
  115. /* 1.Seite vorbereiten */
  116. dummy=open('datei','ram:liste','read')
  117. if ~dummy then exit
  118. fname=strip(readln('datei'),'b',d2c(34))
  119. if fname="" then do
  120.   ShowMessage 1 0 fehlerreq||Pfad||fehlerreq2||Pattern||fehlerreq3
  121.   dummi=close('datei')
  122.   exit
  123. end
  124. address command 'delete '||""||file||'.log'||""
  125. aPfad=''
  126. Font "SoftSans"
  127. FontSize 12
  128. Type kopftxt||Quelle||kopftxt2||Seite
  129. i=5.08                           /* 25,4/60*12=5,08 */
  130.  
  131. /* Fontliste erstellen */
  132. do until eof('datei')
  133.   Font "SoftSans"
  134.   FontSize 8
  135.   name=right(fname,length(fname)-lastpos('/',fname))
  136.   if name=fname then name=right(fname,length(fname)-lastpos(':',fname))
  137.   nPfad=left(fname,length(fname)-length(name))
  138.   if nPfad~=aPfad then do
  139.     dummy=umbruch(11.8533333)                       /* 25,4/60*8*2+25,4/60*12=11,8533333 */
  140.     Type d2c(10)||d2c(10)||"Dir: "||nPfad
  141.     i=i+6.7733333                                   /* 25,4/60*8*2=6,7733333 */
  142.     aPfad=nPfad
  143.   end
  144.   dummy=umbruch(5.08)                         /* 25,4/60*12=5,08 */
  145.   if dummy then iterate
  146.   Type d2c(10)||name||":  "
  147.   Status "LinePos"
  148.   linie=word(Result,1)
  149.   FontSize 12
  150.   Font ""||fname||""
  151.   if rc~=0 then do
  152.     Type fehler2txt
  153.     dummy=log()
  154.   end
  155.   else Type text 
  156.   Status "LinePos"
  157.   do while word(Result,1)~=linie
  158.     BackSpace
  159.     Status "LinePos"
  160.   end
  161.   i=i+5.08                                   /* 25,4/60*12=5,08 */
  162.   fname=strip(readln('datei'),"b",d2c(34))
  163. end
  164.  
  165. /* Letzte Seite */
  166. dummy=close('datei')
  167. address command 'delete ram:liste'
  168. filename=""||file||"."||right(Seite,3,"0")||""
  169. save filename
  170. if druck then Print
  171. ShowMessage 1 0 fertigreq
  172. exit
  173.  
  174. umbruch:  /* Reicht Seite noch? Wenn nein dann neue Seite */
  175. arg neu
  176. if i+neu~>hoch then return 0
  177. filename=""||file||"."||right(Seite,3,"0")||""
  178. save filename
  179. if druck then Print
  180. ClearDoc "Force"
  181. Seite=Seite+1
  182. FontSize 12
  183. Type kopftxt||Quelle||kopftxt2||Seite
  184. i=5.08
  185. aPfad=''
  186. FontSize 8
  187. return 1
  188.  
  189. log:      /* Erstellen eines Eintrags im Logfile */
  190. filename=""||file||".log"||""
  191. erg=Open('test',filename,'READ')
  192. dummy=close('test')
  193. if erg then dummy=Open('logfile',filename,'APPEND')
  194.    else dummy=Open('logfile',filename,'WRITE')
  195. if dummy=0 then return 0
  196. fehler=fehler3txt||Seite||': '||fname||fehler3txt2
  197. writeln('logfile',fehler)
  198. dummy=close('logfile')
  199. return 1
  200.